package org.dromara.answer.domain;

import jakarta.validation.constraints.NotNull;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;

import java.io.Serial;

/**
 * 用户答题记录对象 ai_user_answers
 *
 * @author Lion Li
 * @date 2025-04-09
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("ai_user_answers")
public class AiUserAnswers extends BaseEntity {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 记录ID，主键
     */
    @TableId(value = "record_id")
    private Long recordId;

    /**
     * 用户ID
     */
    private Long userId;

    /**
     * 考试ID
     */
    private Long userExamId;

    /**
     * 题目ID
     */
    private Long questionId;

    /**
     * 题目类型，冗余字段便于查询
     */
    private String questionType;

    /**
     * 用户答案内容：单选题存储选项ID，多选题存储JSON格式的选项ID数组，填空题存储文本答案，判断题存储true/false
     */
    private String answerContent;

    /**
     * 作答时间
     */
    private Date answerTime;

    /**
     * 停留时间，单位秒
     */
    private Integer stayTime;

    /**
     * 是否正确：0-错误，1-正确
     */
    private Long isCorrect;

    /**
     * 获得的分数
     */
    private Long scoreEarned;

    /**
     * 删除标志（0代表存在 2代表删除）
     */
    @TableLogic
    private Long delFlag;


}
